import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 通过继承HttpServlet简化servlet开发(重写doGet() doPost())
 */
public class S3_HiServlet extends HttpServlet {

    /*
        tomcat在得到浏览器http请求后，还是会从web.xml中根据url-pattern找servlet-name，再去hashmap找S3_HiServlet实例，没有就创建并加入tomcat维护的hashmap中。
        后续再请求，会调用 S3_HiServlet.service()，根据继承的查找关系，会去父类HttpServlet查找是否有service()方法
        找到后发现有，而HttpServlet 的 service()方法中会根据请求方式执行不同的代码，其中Get->this.doGet() Post-> this.doPost()
        这里this 就是 S3_HiServlet的对象实例，所以根据动态绑定原则，就会执行 S3_HiServlet 重写的doGet()方法
     */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("这是hiServlet的doGet()方法");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("这是hiServlet的doPost()方法");
    }
}
